#!/bin/sh

test_phonemes() {
	TEST_LANG=$1
	EXPECTED=$2
	TEST_TEXT=$3

	echo "testing ${TEST_LANG} \"${TEST_TEXT}\""
	ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
		src/espeak-ng -xq -v ${TEST_LANG} "${TEST_TEXT}" > actual.txt
	echo "${EXPECTED}" > expected.txt
	diff expected.txt actual.txt || exit 1
}

# word lookup
test_phonemes en " h@l'oU" "hello"

# correct word stress
test_phonemes en " s'VmTIN Imp'o@t@nt" "something important"

# bug: https://github.com/nvaccess/nvda/issues/7740
test_phonemes ta " 'il." "ள்"
test_phonemes my " kon'i" "7"
test_phonemes ka " s'ami Sv'idi" "3 7"

# bug: https://github.com/nvaccess/nvda/issues/7805
test_phonemes hi " r'UcI" "रुचि"
test_phonemes hi " dUk'a:n" "दुकान"
test_phonemes hi " ka:n'u:n" "कानून"

#----- Emoji [http://www.unicode.org/reports/tr51/tr51-12.html] -----

# ED-3 - emoji_character
test_phonemes en " 'e@ri:z" "♈"
test_phonemes my " pru3'a2nke3DN_|_| mj@@lu3'a2mj@2tsnh,a2N_|_| nm_|n'e3DN_|_| mj@@nh,ats" "😙"
test_phonemes ka " k'ots#nis g'amomx,atveli s'axe m'omQim,are t#v'alebit#" "😙"
test_phonemes ka " 'imedg,ats#ru,ebuli m'agram Sv'ebis g'amomx,atveli s'axe" "😥"
# TODO: Fix adjacent emoji without whitespace so the pronunciation is separated by a space.
test_phonemes en " 'e@ri:zr'eInboU" "♈🌈"
test_phonemes en " 'e@ri:z r'eInboU" "♈ 🌈"
# multi-word
test_phonemes en " Ekskla#m'eIS@n kw'EstS@n m'A@k" "⁉"
test_phonemes en " Ekskla#m'eIS@n kw'EstS@n m'A@k r'eInboU" "⁉ 🌈"

# A list entry that uses '$text' to map to another list entry crashes 1.49.2 multi-word support:
test_phonemes en " d'eIbju:tI2d" "débuted"
test_phonemes en-US " d'eIbju:t#I#d" "débuted"
